Remote active window sensing and reporting feature

ABSTRACT

A system and method is provided for remote active window sensing of a display in a computing device and reporting of the same. The system includes a tool including a remote monitoring and reporting component configured to monitor active windows of one or more remote devices and provide a report to a presenter as to whether the active windows of the one or more remote devices are for a presentation of the presenter.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation application of co-pending U.S. application Ser. No. 11/968,835, filed on Jan. 3, 2008, the contents of which are incorporated by reference herein in their entirety.

FIELD OF THE INVENTION

The invention generally relates to a system and method for computer systems and, more particularly, the invention relates to a system and method for remote active window sensing of a display in one or more computing devices and providing a reporting of the same.

BACKGROUND OF THE INVENTION

More and more teams work in remote corners of the globe. As a result, it is not uncommon for the members of a single project team to gather and present to each other using telephones and various remote conferencing technologies. Numerous technologies exist to facilitate such exchanges including International Business Machine Corp.'s Collaboration Tools (e.g., e-meetings). (International Business Machine Corp. and e-meetings are trademarks of International Business Machine Corp. in the United States, other countries or both).

This trend has allowed businesses to distribute work to teams composed of the most cost-effective, talented people, regardless of their locations. However call-in meetings and presentations also have a number of distinct disadvantages. One of the most notable of these disadvantages is that participants who are not speaking are often distracted, and may multi-task by using other computer applications while a speaker is presenting their materials. While few of us would be rude enough to pick up a newspaper and read it during a speaker's presentation in a face-to-face meeting, most people think nothing of checking their e-mail, exchanging instant messages, or working on another assignment in the middle of a presentation that is being done by a remote speaker. This leads to inefficient meetings and, in some cases, such distractions actually detract from the presentation, itself.

Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.

SUMMARY OF THE INVENTION

In a first aspect of the invention, a tool comprises a remote monitoring and reporting component configured to monitor active windows of one or more remote devices. The remote monitoring and reporting component is also configured to provide a report to a presenter as to whether the active windows of the one or more remote devices are associated with a presentation of the presenter.

In another aspect of the invention, a method is provided for deploying a monitoring and reporting feature. The method comprises providing a computer infrastructure operable to: request and monitor active window status on one or more remote devices; receive the active window status; generate a report of the active window status; and provide the report to a presenter of material on a computing device.

In another aspect of the invention, a computer program product is provided for monitoring active window status on a remote device and generating a report of the active window status. The computer program product comprises a computer readable media which includes: first program instructions to request active window status of one or more remote devices which have enabled a monitoring and reporting function requested by a presenter of material; second program instructions to generate a report to the presenter as to whether active windows of the one or more remote devices are associated with a presentation of the presenter; and third program instructions to provide the report to the presenter in a reporting screen. The first, second and third program instructions are stored in a computer system for execution by a central processing unit.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described in the detailed description which follows, in reference to the noted plurality of drawings by way of non-limiting examples of exemplary embodiments of the present invention.

FIG. 1 shows an illustrative environment for implementing the invention;

FIG. 2 shows a first implementation of the present invention using a service provider;

FIG. 3 shows a second implementation of the present invention, bypassing a service provider;

FIG. 4 illustrates a swim lane diagram showing n active window reporting enablement feature in accordance with the invention;

FIGS. 5 and 6 illustrate swim lane diagrams showing an active window monitoring and reporting enablement implementation in accordance with the invention; and

FIG. 7 shows several graphical user interfaces showing an exemplary implementation of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

The invention generally relates to a system and method for monitoring active windows displayed on one or more computing devices. More specifically, the invention is configured to sense or monitor active windows on a remote computing device and provide a report of the displayed active windows to a requestor, e.g., a presenter of material. In operation, the invention would limit multi-tasking of remote users during a presentation, by monitoring and reporting which active windows are being displayed on the remote user's device. Thus, in implementation, the application on the remote user's device (e.g., attendee) would not only display the presentation material, but would report back to the presenter which active windows are being displayed on the attendees' devices. The method could enforce a degree of participation that does not exist in current remote presentation technology.

In embodiments, the present invention is configured to be used with Intranet, Extranet or Internet applications which offer a user the capabilities of providing presentational materials to remote users. More particularly, the present invention is configured to monitor and/or sense (hereinafter generally referred to as “monitor”) which active windows are being displayed on a remote computing device during a presentation over, for example, the World Wide Web. A report can be sent back to the presenter, providing relevant information such as, for example, which remote devices are currently displaying the presentation materials, etc.

The present invention can be provided by a service provider (third party) or be built directly into a presentation application such as, for example, International Business Machine Corp.'s Collaboration tools (e.g., e-Meeting). The present invention can also be built directly into other applications such as Microsoft's Netmeeting and WebX. (Microsoft and Netmeeting are trademarks of Microsoft Corporation in the United States, other countries, or both.) Alternatively, the system and method of the invention can be resident on the user's computing device, independent of the collaboration tool or service provider.

System Environment

FIG. 1 shows an illustrative environment 10 for managing the processes in accordance with the invention. To this extent, the environment 10 can be representative of a service provider, providing the services of the system and method of the invention. In this implementation, a computing device 8 of the user (e.g., presenter) would be remote from the environment 10, and would be configured to request the monitoring and reporting services from the service provider prior to or at some time during a presentation. The collaboration tool could be resident on the device 8, to be activated by the user independently of the system and method of the invention.

Alternatively, the environment 10 may be a computing device of the presenter using the collaboration tool such as, for example, e-Meeting. In this implementation, the device 8 would be integrated into the illustrative environment 10 and, more particularly, would be part of the computing device represented by reference numeral 14. Also, in this implementation, unlike when using a service provider, the system and method of the invention (hereinafter referring to as a “remote monitoring and/or reporting tool”) would preferably be built directly into the collaboration tool; although, it should be understood that the remote monitoring and/or reporting tool may simply reside on the computing device to be activated by the user, independently of the collaboration tool.

In any situation, the illustrative environment 10 includes a computer infrastructure 12 that can perform the processes described herein. In particular, the computer infrastructure 12 includes the computing device 14 that comprises the remote monitoring and/or reporting tool 16. The remote monitoring and/or reporting tool 16 includes Program Code Logic implementing the features of the remote monitoring and/or reporting tool. In embodiments, prior to or during a presentation, the Program Code Logic sends a request (in embodiments, through the service provider) to each agent “A” on each remote device 40, 50, requesting participation with the remote monitoring and/or reporting tool. Upon enablement, the remote monitoring and/or reporting tool will request which active windows are being displayed on the remote devices 40, 50. The request can be provided over any type of communications link such as, for example, any combination of wired and/or wireless links; any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.); and/or utilize any combination of transmission techniques and protocols.

In turn, the agent “A” determines which window is active on the remote devices by invoking the Application Programming Interface (API) on the remote devices 40, 50. In addition, the agent “A” can determine the status of additionally specified windows by invoking the API on the remote devices 40,50, regardless of whether they are active or not. These processes can be performed periodically at predetermined intervals, e.g., every one minute or, alternatively, the request can be sent periodically at predetermined intervals, e.g., every one minute. As should be understood, the API is a source code interface that an operating system or library provides to support requests for services to be made of it by computer programs. In embodiments, the user's of the remote devices may have the ability to disable the monitoring function (and reporting function) of the remote monitoring and/or reporting tool.

Once a determination is made as to which active window is displayed on the remote device 40, 50, the agent “A” sends the active window information to the computing device 14 (which, depending on the application can be the service provider or the presenter). The computing device 14, in turn, can use this information to generate a report and display such report on an external I/O device 28 of the presenter. In the embodiment of a service provider, it would be the service provider that generates the report and sends such report to the presenter. The I/O device 28 can comprise any device that enables an individual to interact with the computing device 14 or any device that enables the computing device 14 to communicate with one or more other computing devices using any type of communications link. In this implementation, the I/O external device 28 is representative of a display; although, the external I/O device/resource 28 may be keyboards, pointing devices, etc.

Still referring to FIG. 1, the computing device 14 includes a processor 20, a memory 22A, an input/output (I/O) interface 24, and a bus 26. The memory 22A can include local memory employed during actual execution of program code (including the Program Logic Code), bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Further, the computing device 14 is in communication with the external I/O device/resource 28 and a storage system 22B.

In general, the processor 20 executes computer program code (including the Program Logic Code), which is stored in memory 22A and/or storage system 22B. While executing computer program code, the processor 20 can read and/or write data to/from memory 22A, storage system 22B, and/or I/O interface 24. The bus 26 provides a communications link between each of the components in the computing device 14.

The computing device 14 can comprise any general purpose computing article of manufacture capable of executing computer program code installed thereon (e.g., a personal computer, server, handheld device, etc.). However, it is understood that the computing device 14 is only representative of various possible equivalent computing devices that may perform the processes described herein. To this extent, in embodiments, the functionality provided by computing device 14 can be implemented by a computing article of manufacture that includes any combination of general and/or specific purpose hardware and/or computer program code. In each embodiment, the program code and hardware can be created using standard programming and engineering techniques, respectively.

Similarly, the computer infrastructure 12 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in embodiments, the computer infrastructure 12 comprises two or more computing devices (e.g., a server cluster) that communicate over any type of communications link, such as a network, a shared memory, or the like, to perform the process described herein. Further, while performing the processes described herein, one or more computing devices in the computer infrastructure 12 can communicate with one or more other computing devices external to computer infrastructure 12 using any type of communications link. The communications link can comprise any combination of wired and/or wireless links; any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.); and/or utilize any combination of transmission techniques and protocols.

In embodiments, the computing environment 10 represents a service provider, such as a Solution Integrator. The service provider could offer to perform the processes described herein. In this case, the service provider can create, maintain, deploy, support, etc., the computer infrastructure that performs the process steps of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement.

Exemplary Implementation of the System of the Invention

FIG. 2 shows a general overview of one implementation of the invention. In particular, FIG. 2 shows the different participants during a presentation, for example, the presenter 8, the attendees 40, 50 and the service provider (S). The participants are connected via the Internet, in this implementation; although, it should be understood that the participants may communicate over an intranet, extranet, etc. In this implementation, discussed in more detail below, the presenter is communicating through the service provider (S).

Prior to the initiation of a presentation, the presenter will request the enablement of the service from the service provider (S). At the request of the presenter, the service provider (S) will initiate the service allowing, in some embodiments, for each of the attendees 40, 50 to enable or disable the service. In this case, the service provider (S) will report back to the presenter 8 with such information as:

-   -   which of the remote devices opted for disablement of the         monitoring and reporting; or     -   which of the remote devices opted for enablement of the         monitoring and reporting.         The presenter 8 can begin the presentation of materials using         the collaboration tools, resident on its computing device. In         embodiments, the presentation is provided through the service         provider (S), with the implementation of the services provided         herein.

In the case of opting for enablement of monitoring and reporting, during the presentation the active windows of the attendees 40, 50 (remote devices) will be monitored by the API (via the agent). The status of the active windows will be transmitted back to the presenter, via the service provider (S). In embodiments, though, agents of the attendees 40, 50 (remote devices) can report directly to the presenter 8, bypassing the service provider (S). In this implementation, though, it is preferable that all communications be directed through the service provider (S), thereby allowing the service provider (S) to generate the reports and freeing resources on the device of the presenter 8. The attendees, if given the option, may select to disable the reporting during the presentation.

The reports can include, for example, which windows are active on which attendee device and/or whether the presentation window is active. In other contemplated reports, the report will inform the presenter 8 whether a system failure or a maintenance issue has or is occurring on any attendee device 40, 50, or whether attendee devices are receiving a common message (which would be the active window). In embodiments, depending on the participation of the attendees, the presenter 8 can continue with the presentation, postpone the presentation, request the attendees to display the presentation window as the active window, or take some other action.

FIG. 3 shows a general overview of another implementation of the invention. In particular, FIG. 3 shows the different participants during a presentation, for example, the presenter 8 and the attendees 40, 50. In this implementation, the service provider (S) is no longer required since the remote monitoring and/or reporting tool is directly built into the collaboration tool (or is resident on the presenter's device, in some other manner). The participants are connected via the Internet, in this implementation; although, it should be understood that the participants may communicate over an intranet, extranet, etc. In this implementation, the presenter is communicating directly with the attendees.

Prior to the initiation of a presentation, the presenter will activate the remote monitoring and reporting tool directly from his/her device and preferably via the collaboration tool. In this case, the presenter and more specifically the remote monitoring and/or reporting tool will send a request to the attendees 40, 50. In embodiments, the attendee may opt out of the monitoring and reporting by a user selectable interface. In such a case, the attendees 40, 50 will provide the selected option to the presenter 8. The presenter will present the materials using the collaboration tool, resident on its computing device, regardless of whether the attendee(s) have opted out of the monitoring and reporting.

In the case of opting for enablement of monitoring and reporting, during the presentation, the active windows, or windows specified to be monitored, of the attendees 40, 50 (remote devices) will be monitored by the API (via the agent). The status of the monitored windows will then be transmitted back to the presenter 8. The remote monitoring and/or reporting tool can then generate reports. The attendees, if given the option, may select to disable the reporting during the presentation.

As discussed with reference to FIG. 2, the reports can include, for example, which windows are active on which attendee device and/or whether the presentation window is active. In other contemplated reports, the presenter 8 can determine whether a system failure or a maintenance issue has or is occurring on any attendee device 40, 50, or whether attendee devices are receiving a common message (which would be the active window). In embodiments, depending on the participation of the attendees, the presenter 8 can continue with the presentation, postpone the presentation, request the attendees to reactive the presentation window, or take some other action.

Exemplary Processes in Accordance with the Invention

FIGS. 4-6 are swim lane diagrams showing processing steps of embodiments of the invention and respective participants. FIGS. 4-6 may equally represent a high-level block diagram of components of the invention implementing the steps thereof. The steps of FIGS. 4-6 may be implemented on computer program code (Program Code Logic) in combination with the appropriate hardware as shown representatively in FIG. 1. The computer program code may be stored on storage media such as a diskette, hard disk, CD-ROM, DVD-ROM or tape, as well as a memory storage device or collection of memory storage devices such as read-only memory (ROM) or random access memory (RAM), generally represented as reference numerals 22A or 22B of FIG. 1. Additionally, the computer program code can be transferred to a workstation over the Internet or some other type of network.

The invention can take the form of hardware and software elements. The hardware and software elements include a computer infrastructure configured to implement the functionality of the present invention. The computer infrastructure may take the form, for example, of the environment of FIG. 1. The software elements may be firmware, resident software, microcode, etc. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.

FIG. 4 shows an active window reporting enablement feature in accordance with the invention. Prior to initiating the services of the remote monitoring and/or reporting tool, participants in the presentation should preferably have an agent already downloaded onto their computing device. If not, the processes of the invention can include an automatic download using, for example, a tool wizard known to those of skill in the art. Alternatively, the agent can be pushed to the device attempting to connect to the presenter's device.

At step 400, the presenter requests the remote monitoring and/or reporting service from a service provider. At step 405, the presenter opens the appropriate collaboration tool and establishes the required presentation technology to support the presentational materials. At step 410, the service provider provides options to the presenter for activating the remote monitoring and/or reporting tool. These options may include, for example:

-   -   do not enable remote monitoring;     -   enable monitoring; or     -   enable monitoring with permissions.         The presenter can then select one of the options in order to         continue with the presentation. The permissions enable the         attendees to enable or disable the remote monitoring and/or         reporting tool.

When the presenter selects the option of continuing with the presentation without the monitoring and reporting feature, at step 415, the service provider will continue with initiating the presentation without the remote monitoring and reporting feature of the present invention. At step 420, the presenter will receive confirmation of the selected option from the service provider. The presenter can present the presentation materials without the monitoring and reporting functions of the present invention.

When the presenter selects the enable monitoring or enable monitoring with permissions, at step 425, the service provider will activate the remote monitoring and/or reporting tool. At step 430, the selected option may then be passed back to the collaboration tool (presenter) for confirmation. At step 435, the presenter can present the presentation materials with the option of either monitoring or monitoring with permissions. In embodiments, the service provider can wait in a stand by mode for the next request.

FIGS. 5 and 6 show an implementation of the active window reporting enablement feature in accordance with the invention. More specifically, at step 500, the presenter will determine whether to activate the remote monitoring and/or reporting tool of the present invention and which options would be required during the presentation of materials. At step 505, the presenter will activate the remote monitoring and/or reporting tool and select the appropriate options. The options may include, for example,

-   -   enable monitoring;     -   permit the attendees to remove the monitoring; and/or     -   enable reporting features with the attendee permitted to         enable/disable the function, etc.         If the presenter selects the no window reporting option, the         remote monitoring and/or reporting tool enables the presentation         without monitoring support. If the presenter selects the enable         reporting with no on/off option, the reporting function will be         enabled and the remote monitoring and/or reporting tool will not         provide the ability for the attendee(s) to turn off the         reporting function. If the presenter selects the enable         reporting with on/off option, the reporting function will be         enabled and the remote monitoring and/or reporting tool will         permit the attendee(s) or presenter the ability to turn on or         off the reporting feature.

At optional step 510, the service provider will activate the remote monitoring and/or reporting tool. As should be understood, the remote monitoring and/or reporting tool can be implemented through a service provider or can be built directly into the collaboration technology, e.g., e-meeting, or be resident on the computing device of the presenter and initiated upon execution of the collaboration technology, depending on the desired application. In the latter embodiment, the monitoring and/or reporting tool can be a standalone component which can then be used with any number of collaboration technologies. Thus, although FIG. 5 shows an implementation of using the service provider, it should be understood by those of skill in the art that FIG. 5 can equally represent the remote monitoring and/or reporting tool being activated directly from the computing device of the presenter.

Referring to FIG. 6, at step 515, the attendee(s) are connected to the presentation. At step 520, the presenter and attendee(s) are provided with options from the remote monitoring and/or reporting tool. Again, these options may include enabling the remote monitoring and/or reporting tool, with reporting options as discussed above. During or prior to this processing, the remote monitoring and/or reporting tool may also request further information from the participants including, for example, user ID and passcode.

Depending on the selected option, which varies depending on the selections by the attendee(s), the presentation material can be presented at step 525. If the presenter is using a service provider, the service provider will provide the monitoring at optional step 530. The presentation can then be displayed to the attendees at step 535, with the selected reporting and/or monitoring options. The attendees can select the option via a keyboard, mouse or other interactive response. Alternatively, if the remote monitoring and/or reporting tool is built directly into the collaboration tool (or the presenter's computing device), the presentation can be displayed directly to the attendees at step 535 with the selected reporting and/or monitoring options, thereby bypassing the service provider.

With the one or more options selected to be enabled, at step 540, the remote monitoring and/or reporting tool is enabled. If the presenter selected the reporting on/off option, at step 545, the command will be enabled (e.g., by either a service provider or directly from the collaboration tool) at step 545. At step 535, the presentation can be displayed to the attendees. The presentation will include an on/off command allowing any of the attendees (or presenter) to enable or disable the reporting option.

At step 550, the remote monitoring and/or reporting tool will begin monitoring for active windows displayed on the computing devices of the attendees. At step 555, the remote monitoring and/or reporting tool will report the activity for each attendee that opted for the reporting option. Depending on the embodiment, the reporting may be performed by the service provider or generated directly from the remote monitoring and/or reporting tool.

At step 560, the presenter will receive the report and, at step 565, the presenter will determine an appropriate action to take. This may include, for example, terminating the presentation, requesting the appropriate attendees to display the presentation materials as the active window, amongst other possibilities.

Exemplary Displays

FIG. 7 shows exemplary displays of participants of the presentation. In particular, the displays include a presenter and three attendees (comp 1, comp 2, comp 3). In this example, all of the attendees opted for participation in the service of the present invention. As shown representatively, the presenter's display includes an active window and a reporting screen (RS). The reporting screen (RS) includes a column identifying the remote computers connected to the presentation and a column indicating the active window status of the remote computers. The reporting screen (RS) can include a scroll in order to view other remote computers and their status. The reporting screen (RS) can also include messages such as, for example, which windows are active on the remote computers, any problems or issues that are occurring at the remote computers, etc.

In attendees' computing devices (comp 1, comp 2, comp 3), an opt in/out option may appear in order for the attendees to enable/disable the remote monitoring and/or reporting tool. In the example of FIG. 7, the attendee (comp 2) either disengaged the tool or is using a window that is not associated with the presentation, as shown by the reporting screen (RS).

While the invention has been described in terms of embodiments, those skilled in the art will recognize that the invention can be practiced with modifications and in the spirit and scope of the appended claims. 

1. A tool comprising: a remote monitoring and reporting component to: determine whether active windows of one or more remote devices are for a presentation of a presenter; provide a report to the presenter as to whether the active windows of the one or more remote devices are for the presentation of the presenter; and provide each of the one or more remote devices with: a selection to disable the determining of whether the active windows of the one or more remote devices are for the presentation of the presenter, and to receive the presentation with the determining disabled; and a selection to disable the providing of the report to the presenter as to whether the active windows of the one or more remote devices are for the presentation of the presenter, and to receive the presentation with the providing disabled.
 2. The tool of claim 1, wherein the remote monitoring and reporting component allows the presenter with a selection to disable the monitoring and reporting component and a selection to send the presentation with the monitoring and reporting component disabled.
 3. The tool of claim 1, wherein the remote monitoring and reporting component requests information from the one or more remote devices as to whether the active windows are for the presentation.
 4. The tool of claim 1, wherein the remote monitoring and reporting component receives a status of a first active window displayed by a first remote device of the one or more remote devices from an agent at the first remote device.
 5. The tool of claim 4, wherein the status identifies the first remote device and indicates whether a first presentation window is active on the first remote device.
 6. The tool of claim 1, wherein the remote monitoring and reporting component is provided on a computer program product comprising a computer usable storage medium having readable program code embodied in the storage medium.
 7. The tool of claim 1, wherein the remote monitoring and reporting component generates a reporting screen indicating a status of the active windows of the one or more remote devices.
 8. The tool of claim 1, wherein the remote monitoring and reporting component is activated with a collaboration tool.
 9. The tool of claim 1, wherein the remote monitoring and reporting component is integrated into a collaboration tool.
 10. The tool of claim 1, wherein the remote monitoring and reporting component is used over the Internet.
 11. The tool of claim 1, wherein the remote monitoring and reporting component provides selections for the presenter and the one or more remote devices.
 12. The tool of claim 1, wherein the remote monitoring and reporting component is operable to receive a confirmation from each of the one or more remote devices of an opt in or opt out selection selected by each of the one or more remote devices.
 13. A method for deploying a monitoring and reporting component, comprising: providing a computer infrastructure to: determine whether active windows on one or more remote devices are for a presentation of a presenter on a computing device; generate a report of whether the active windows are for the presentation; provide the report to the presenter; and provide permissions to each of the one or more remote devices to provide each of the one or more remote devices with: a selection to disable the determining of whether the active windows are for the presentation, and to receive the presentation with the determining disabled; and a selection to disable the generating and the providing of the report to the presenter, and to receive the presentation with the generating and the providing disabled.
 14. The method of claim 13, wherein a service provider requests an active window status, receives the active window status and generates the report and sends the report to the presenter.
 15. The method of claim 14, further comprising implementing a collaboration tool with the request of the active window status.
 16. The method of claim 13, wherein the computer infrastructure provides the report of a status of the active windows to the presenter.
 17. The method of claim 13, wherein the computer infrastructure receives information from an agent residing on the one or more remote devices as to whether the active windows are for the presentation.
 18. A computer program product for monitoring active window status on a remote device and generating a report of the active window status, the computer program product comprising: a computer readable storage memory including: first program instructions to request active window status of one or more remote devices which have enabled a monitoring and reporting function requested by a presenter of material; second program instructions to generate a report to the presenter as to whether active windows of the one or more remote devices are for a presentation of the presenter; third program instructions to provide the report to the presenter in a reporting screen; fourth program instructions to provide the presenter with a selection to enable or disable the monitoring and reporting; fifth program instructions to provide permissions to each of the one or more remote devices to provide each of the one or more remote devices with: a selection to disable monitoring of a respective active window of the one or more remote devices and to receive the presentation with the monitoring disabled; and a selection to disable the generating and the providing of the report to the presenter as to whether the active windows of the one or more remote devices are for the presentation of the presenter, and to receive the presentation with the generating and the providing disabled; and sixth program instructions to provide, from the presenter to the one or more remote devices, a request to display the presentation in the active windows based on the report provided to the presenter, wherein the first, second, third, fourth, fifth, and sixth program instructions are stored in a computer system for execution by a central processing unit. 